import Vue from '@/main';
import {
  addUrlTimestamp,
  addHeaderToken,
  checkStatusAndNotify,
} from './utils';

export default {
  init(instance) {
    // requset
    instance.interceptors.request.use((config) => {
      Vue.$progress.start();
      addUrlTimestamp(config);
      addHeaderToken(config);
      return config;
    }, error => Promise.reject(error));

    // response
    instance.interceptors.response.use((response) => {
      // 统一处理各种错误
      checkStatusAndNotify(response);
      Vue.$progress.done();
      return response.data;
    }, (error) => {
      // 统一显示“请检查网络”
      checkStatusAndNotify(error);
      Vue.$progress.error();
      return Promise.reject(error);
    });
  },
};

